/*
*   javascript中有很多的内置对象
*   1.String   字符串对象
*   2.Math    数学对象
*   3.Date   日期对象
* */
strInfo = "Hello Python2512"
//获取字符串长度
let len = strInfo.length
console.log(len)
// 通过字符串索引获取字符串中的字符  字符串名[index]
console.log(strInfo[0])
console.log('-----------------------')
//字符串遍历
for (let i = 1; i < len; i++) {
    console.log(strInfo[i])
}

// 字符串截取 参数1  起始索引   参数2  结束索引   [0,5)  参数2 可以省略 截取到最后
// let subStr = strInfo.slice(0)
let subStr = strInfo.slice(0, 5)
console.log(subStr)
// 负索引使用
subStr = strInfo.slice(-4, -1)
subStr = strInfo.slice(-4)
console.log(subStr)


//  substring 不支持负索引
// subStr = strInfo.substring(0,5)
subStr = strInfo.substring(-6)
console.log(subStr)

// 截取字符串  参数1  起始索引 参数2  截取长度
subStr = strInfo.substr(0, 2)
console.log(subStr)

// 字符串大小写转换
let upperstr = strInfo.toUpperCase()
console.log(upperstr)
let lowstr = strInfo.toLowerCase()
console.log(lowstr)


// y 在字符串中的位置
console.log('y index :', strInfo.indexOf('y'));
console.log('a index :', strInfo.indexOf('a'));   //   没有则返回 -1
console.log('o index :', strInfo.indexOf('o'));   //   判定指定字符第一次出现的位置
console.log('o index :', strInfo.indexOf('o', 5));  //  参数2  从指定位置开始查找
console.log('o lastIndexOf :', strInfo.lastIndexOf('o'));   //   指定字符最后一次出现的位置

// 根据位置获取字符
let char = strInfo.charAt(7)
console.log('char at 7 :', char)

// 判定字符是否包含在字符串中
let includes = strInfo.includes('y')
console.log('includes :', includes)

//  字符串替换    replace 替换第一个匹配的字符串     /Microsoft/g  正则表达式   g  全局  global  i  ignore
strInfo = "Please visit Microsoft and Microsoft!"
let new_str = strInfo.replace(/microsoft/ig, 'python2512')
// let new_str = strInfo.replaceAll('Microsoft', 'microsoft')
console.log(strInfo)
console.log(new_str)

// 字符串拼接
let str1 = 'hello'
let str2 = 'python2512'
// let result = str1 +" "+ str2
let result = str1.concat(str2)
console.log(result)

// 拆分字符串
let idArray = [1, 2, 3, 4, 5]
let str_ids = idArray.join(',')
console.log(str_ids)   //  "1,2,3,4,5"  +2  => "3,4,5,6,7"

idArray = str_ids.split(',')
console.log(idArray)

//  "1,2,3,4,5"  +2  => "3,4,5,6,7"

/*
 let res = []
    for (let i = 0; i < idArray.length; i++) {
        let temp = idArray[i] * 1 + 2
        res.push(temp)
    }
* */
let res = idArray.map(item => item * 1 + 2).join(',')
console.log(res)

let arr = [1, 2, 3, 4, 5, 6, 7, 8]
// 提取 arr中的偶数  item % 2 === 0   true  满足条件  收集在数组中
res = arr.filter(item => item % 2 === 0)
console.log(res)

//  es6
arr.forEach(item => console.log(item))


//  trim    admin    search

let str = '  hello   '
console.log(str.trim())


